package com.dycloud.project.service;


import com.dycloud.project.domain.Meetings;
import com.dycloud.project.request.ReviewMeetingRequest;
import com.dycloud.project.vo.MeetingPageVO;
import com.dycloud.project.vo.PushTrendItemVo;
import com.dycloud.project.web.page.TableDataInfo;

import java.util.List;

/**
 * @author : renhang
 * @description IMeetingsService
 * @date : 2025-07-03 14:03
 **/
public interface IMeetingsService
{
    /**
     * 查询会议
     *
     * @param id 会议主键
     * @return 会议
     */
    public Meetings selectMeetingsById(Long id);

    /**
     * 查询会议列表
     *
     * @param meetings 会议
     * @return 会议集合
     */
    public TableDataInfo selectMeetingsList(Meetings meetings,Integer source);

    /**
     * meetingToPageVo
     *
     * @param meetingsList meetingsList
     * @return: @return {@link List }<{@link MeetingPageVO }>
     */

    public List<MeetingPageVO> meetingToPageVo(List<Meetings> meetingsList);

    /**
     * 新增会议
     *
     * @param meetings 会议
     * @return 结果
     */
    public int insertMeetings(Meetings meetings);

    /**
     * 修改会议
     *
     * @param meetings 会议
     * @return 结果
     */
    public int updateMeetings(Meetings meetings);

    /**
     * 批量删除会议
     *
     * @param ids 需要删除的会议主键集合
     * @return 结果
     */
    public int deleteMeetingsByIds(Long[] ids);

    /**
     * 删除会议信息
     *
     * @param id 会议主键
     * @return 结果
     */
    public int deleteMeetingsById(Long id);

    void review(ReviewMeetingRequest request);

    List<Meetings> selectMeetingByIds(List<Long> list);

    int selectCount(Long userId);

    List<PushTrendItemVo> selectPushTrend(Long userId);

}